PID Controller

Compilation

Criteria Meet Specification

Your code should compile.

Code must compile without errors with cmake and make .

Given that we've made CMakeLists.txt as general as possible, it's recommend that you do not change it unless you can guarantee that your changes will still compile on any platform.

Implementation

Criteria Meet Specification

The PID procedure follows what was taught in the lessons.

It's encouraged to be creative, particularly around hyperparameter tuning/optimization. However, the base algorithm should follow what's presented in the lessons.

Reflection

Criteria Meet Specification

Describe the effect each of the P, I, D components had in your implementation.

Student describes the effect of the P, I, D component of the PID algorithm in their implementation. Is it what you expected?

Visual aids are encouraged, i.e. record of a small video of the car in the simulator and describe what each component is set to.

Describe how the final hyperparameters were chosen.

Student discusses how they chose the final hyperparameters (P, I, D coefficients). This could be have been done through manual tuning, twiddle, SGD, or something else, or a combination!

Simulation

Criteria Meet Specification

The vehicle must successfully drive a lap around the track.

No tire may leave the drivable portion of the track surface. The car may not pop up onto ledges or roll over any surfaces that would otherwise be considered unsafe (if humans were in the vehicle).